package bbalgae;

public class J19_callBy {

	/**
	 * call by value vs call by reference 값 이동시키기 swap a = 3, b=5 -> swap(3,5)
	 * --> a=5,b=3
	 */
	public static void main(String[] args) {
		
		int a = 3;
		int b = 5;// 기본자료형

		System.out.println("swap호출전 a" + "=" + a + ",b=" + b);
		swap(a, b);
		System.out.println("호출후a" + "=" + a + ",b=" + b);

		int[] aa = { 3 };
		int[] bb = { 5 };

		System.out.println("swap호출전 aa" + "=" + aa[0] + ",bb=" + bb[0]);
	swap(aa, bb);
		System.out.println("호출후aa" + "=" + aa[0] + ",bb=" + bb[0]);
	swap(aa[0],bb[0]);
		System.out.println(a+","+aa+","+aa[0]);
	}

	static void swap(int x, int y) {
		int tmp = x;
		x = y;
		y = tmp;
		System.out.println("호출중ㅓ"+x + "+" + y);

	}

	static void swap(int[] x, int[] y) {
		int tmp = x[0];
		x[0] = y[0];
		y[0] = tmp;
		System.out.println("호출중" + x[0] + "+" + y[0]);
	}
}

